public class Victim extends Fish implements Cloneable {

    private static final int AGE_TO_SPAWN = 3;
    private static final int MAX_STEP = 1;
    public static final int AGE_TO_DIE = 15;

    public Victim(Position position) {
        super(position);
        isDead = false;
    }

    @Override
    public String toString() {
        return String.format("This is victim,its position is %s", position);
    }

    @Override
    public Victim clone() {
        try {
            Victim obj = (Victim) super.clone();
            obj.position = position;
            obj.age = age;
            obj.isDead = isDead;
            return obj;
        } catch (CloneNotSupportedException e) {
            throw new AssertionError(e);
        }
    }

    public void move(MotionInformation motionInformation) {
        position.changePosition(Randomize.selectDirection(), MAX_STEP);
    }

    public Fish spawn() {
       return new Victim(position);
    }

    public boolean isTimeToSpawn() {
        return age == AGE_TO_SPAWN;
    }

    @Override
    public boolean canEat(boolean victimOnPosition) {//TODO RENAME IT!
        return false;
    }

    @Override
    public boolean isDead() {
        return isDead;
    }

    @Override
    public int getMaxStep() {
        return MAX_STEP;
    }

    public void die() {
        if (age == AGE_TO_DIE) {
            isDead = true;
        }
    }

    public void setEaten() {
        isDead = true;
    }

    @Override
    public CreaturesType getType() {
        return CreaturesType.Victim;
    }

    @Override
    public void eat() {
    }


}
